package com.yf.exam.modules.user.cert.service;

/**
 * 证书定时任务管理服务接口
 * 统一管理证书相关的定时任务
 * 
 * @author system
 */
public interface CertScheduleService {

    /**
     * 启动证书失败重试定时任务
     * 默认每小时执行一次
     */
    void startCertRetrySchedule();

    /**
     * 启动证书失败重试定时任务
     * @param cron cron表达式
     */
    void startCertRetrySchedule(String cron);



    /**
     * 启动证书资源清理定时任务
     * 默认每天凌晨2点执行
     */
    void startCertCleanupSchedule();

    /**
     * 启动证书资源清理定时任务
     * @param cron cron表达式
     */
    void startCertCleanupSchedule(String cron);

    /**
     * 停止指定的定时任务
     * @param jobName 任务名称
     * @param jobGroup 任务组
     */
    void stopScheduledTask(String jobName, String jobGroup);

    /**
     * 初始化默认定时任务
     * 系统启动时调用，设置默认的定时任务
     */
    void initDefaultSchedules();
}